package cn.lg.soar.cms.biz.modules.other.service;

import cn.lg.soar.cms.biz.modules.other.entity.Block;
import cn.lg.soar.cms.biz.modules.other.model.BlockItemVo;
import cn.lg.soar.cms.biz.modules.other.model.BlockVO;
import cn.lg.soar.database.base.service.IBaseService;

import java.util.Collection;
import java.util.List;

/**
 * 页面元素位置
 * @author luguoxiang
 * @since 2025-02-23
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface BlockService extends IBaseService<Block> {

    /**
     * 根据code获取
     * @param code
     * @return
     */
    Block getByCode(String code);

    /**
     * 根据code获取内容列表
     * @param code
     * @return
     */
    List<BlockItemVo> contents(String code, Integer pageSize);

    void remove(Collection<Long> ids);

    /**
     * 创建
     * @param data
     * @return
     */
    Long create(BlockVO data);

    /**
     * 更新
     * @param data
     */
    void update(BlockVO data);

    /**
     * 详情
     * @param id
     * @return
     */
    BlockVO detail(Long id);

}
